有没有一种方法可以使用一个循环来获取大列表中的前100个项目,对它们做一些处理,然后再处理下一个100个等等,但是当它接近尾声时,它会自动缩短项目的“100”步骤剩余。目前我必须使用两个if循环:for(inti=0;i有更好的方法吗?如果不是,我至少会让“东西”成为一个函数,这样代码就不必复制两次。 最佳答案 您可以使用LINQSkip和Take你的代码会更干净。for(inti=0;i注意:如果元素少于100个,Take会给你剩下的。 关于c#-用循环处理一个列表,每次取100个元素
在MyListList可能有一个Person及其Name属性设置为“ComTruise”。我需要在MyList中第一次出现“ComTruise”的索引,但不是整个Person元素。我现在做的是:stringmyName=ComTruise;intthatIndex=MyList.SkipWhile(p=>p.Name!=myName).Count();如果列表很大,有没有更优的方式获取索引? 最佳答案 你可以使用FindIndexstringmyName="ComTruise";intmyIndex=MyList.FindIndex
这个问题在这里已经有了答案:'Operationisnotvalidduetothecurrentstateoftheobject'errorduringpostback(4个答案)关闭7年前。我在aspx页面上有radcombo框,当我从中选择任何选项时,它会给出错误`“/”应用程序中的服务器错误。由于对象的当前状态,操作无效。说明:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。ExceptionDetails:System.InvalidOperationException:Operationisnotvalidduetothe
我似乎在检查列表相等性时遇到了问题。在我的例子中,我有两个角色对象,我想看看它们是否相等。每个角色都包含一个名称和一个权限列表。每个权限仅包含一个名称。publicclassRole:BaseDomain{virtualpublicStringName{get;set;}virtualpublicIListPermissions{get;set;}}publicclassPermission{virtualpublicStringName{get;set;}}我在Role和Permission对象上定义了一个equals方法。这些对象是使用Nhibernate从数据库中加载的。这意味着
我几乎不好意思问这个问题,但作为一个长期的C程序员,我觉得也许我不知道在C#中做这个的最佳方法。我有一个成员函数,我需要返回两个自定义类型的列表(List),我事先知道我将始终只有其中两个列表的返回值。明显的选择是:publicList>ReturnTwoLists();或publicvoidReturnTwoLists(refListlistOne,refListlistTwo);两者似乎都不是最优的。有什么改进建议吗?第一种方式在语法中没有明确表示只返回2个列表,第二种方式使用引用而不是返回值,这看起来很非C#。 最佳答案 首先
我正在尝试从2个列表创建一个字典,其中一个列表包含键,一个列表包含值。我可以使用for循环来完成它,但我正在尝试查找是否有使用LINQ来完成它的方法。示例代码会很有帮助。谢谢!!!!!! 最佳答案 在.NET4中,您可以使用内置的Zip合并两个序列的方法,后跟ToDictionary调用:varkeys=newList{1,2,3};varvalues=newList{"one","two","three"};vardictionary=keys.Zip(values,(k,v)=>new{Key=k,Value=v}).ToDic
我知道在python中你可以做类似myList[1:20]的事情,但在C#中有类似的东西吗? 最佳答案 varitemsOneThroughTwenty=myList.Take(20);varitemsFiveThroughTwenty=myList.Skip(5).Take(15); 关于c#-如何在C#中截断列表?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3428242
这是我的第一个SO问题,与其说是“我该怎么做”,不如说是“最干净的方法是什么”,因为我看到了几种方法,但没有一种看起来非常对我很有吸引力。这个问题描述起来有点复杂。本质上,我有一个添加/编辑View,允许用户编辑某些对象的字段。这个对象非常复杂:它有一些字段,还有一个复杂对象的子列表。每个复杂对象大约有40个字段(主要是复选框、单选按钮和日期/时间)。我将其表示为一个选择列表:(来源:fortheloot.com)添加按钮会生成包含各个字段的对话框。问题来了。当用户接受对话框并关闭对话框时,我现在必须将这些数据存储在某个地方,以便用户可以在实际提交表单之前进一步编辑它或添加其他子项。最
我一直在使用C#中的列表,我想知道如何轻松地对并不总是具有特定字段值的列表进行排序。例如,如果有一个人的列表,每个人都有一个DateOfBirth,我想对所有的人进行排序,即使是那些没有特定字段的人,但我想要那些与原始组(具有DOB的组)分开。我知道这可能可以通过LINQ完成,但我不确定如何处理。如有任何帮助,我们将不胜感激! 最佳答案 我相信这样的事情会完成您正在寻找的东西(使用LINQ),或者可能会为您指明正确的方向:varsortedList=listOfPeople.OrderBy(p=>p.DateOfBirth.HasV
如何在WindowsPhone7中访问联系人存储(联系人列表)?谢谢!更新:看来下个版本的WP7,Mango可能会有这个:Link 最佳答案 编辑:这个答案在发布时是正确的。在WindowsPhone7.1(Mango)中,第三方应用程序将有权访问联系人。你不能。你不被允许。这被视为应用程序不应接触的私有(private)数据。编辑:虽然您不能直接访问联系人列表,但您可以启动EmailAddressChooserTask或PhoneNumberChooserTask只取回有关用户指定联系人的那条信息。(同样,您可以启动任务来保存电话